package top.shiyiri.datetime;

import org.junit.Test;

import java.util.Date;

/**
 * @author Aunean
 * @date 2022/1/2
 */
/*
JDK8 之前日期和时间的API测试
 */
public class DateTimeTest {

    @Test
    public void test1() {
        long time = System.currentTimeMillis();
        //返回当前时间与 1970 年 1 月 1 日 0 时 0 分 0 秒之间以毫秒为单位的时间差
        //称为时间戳
        System.out.println(time);
    }


    /*
    java.util.Date类
    1.两个构造器的使用
        >构造器一：Date()：创建一个对应当前时间的 Date 对象
        >构造器二：创建指定毫秒数的 Date 对象

    2.两个方法的使用
        >toString()：显示当前的年月日、时分秒
        >getTime()：获取当前 Date 对象对应的时间戳

    3.java.sql.Date 对应着数据库中的日期类型的变量
        >如何实例化
        >如何将 java.util.Date 对象转换为 java.sql.Date 对象
     */
    @Test
    public void test2() {
        //构造器一：Date()：创建一个对应当前时间的 Date 对象
        Date date1 = new Date();
        System.out.println(date1.toString());//Sun Jan 02 13:36:33 CST 2022

        System.out.println(date1.getTime());//1641101880288

        //构造器二：创建指定毫秒数的 Date 对象
        Date date2 = new Date(273423987423L);
        System.out.println(date2);//Thu Aug 31 23:06:27 CST 1978

        //创建java.sql.Date 对象
        java.sql.Date date3 = new java.sql.Date(2324294324239L);
        System.out.println(date3);

        //如何将 java.util.Date 对象转换为 java.sql.Date 对象
        Date date4 = new Date();
        java.sql.Date date5 = new java.sql.Date(date4.getTime());
        System.out.println(date5);
    }
}
